/*****************************************************************
 MYD Engine v0.1

 File: myd_physics.h
 Created: 11/07/09
*****************************************************************/

#ifndef MYD_PHYSICS_H
#define MYD_PHYSICS_H

#include "entities/myd_entity.h"

namespace myd
{
	class MYD_API Physics
	{
		public:
			//constructer / destructer
			Physics(void);
			~Physics(void);

			//colllision types
			enum collisionType
			{
				left,
				right,
				up,
				down,
				none
			};

			void checkCollision(void) const;
			void kickOut(Entity *tm_entity, collisionType type, float penetration) const;
			void add(Entity *tm_entity);
	
			//collision vector
			std::vector<Entity*> collisionVector;

			//collision modes
			void boundingBox(Entity *tm_ent1, Entity *tm_ent2) const;
	};
#include "myd_physics.inl"
}//end namespace
#endif //MYD_PHYSICS_H